home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / mafpcb15.zip / ZS.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-04-21  |  4KB  |  291 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Date     DATE001
  23.     Date     DATE002
  24.     Date     DATE003
  25.     Integer  INTEGER001
  26.     Integer  INTEGER002
  27.     Integer  INTEGER003
  28.     Integer  INTEGER004
  29.     Integer  INTEGER005
  30.     String   STRING001
  31.     String   STRING002
  32.     String   STRING003
  33.     String   STRING004
  34.     String   STRING005
  35.     String   STRING006
  36.     String   STRING007
  37.     String   TSTRING008(1)
  38.     String   STRING009
  39.     String   STRING010
  40.     String   STRING011
  41.     String   STRING012
  42.     String   STRING013
  43.     String   STRING014
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     GetUser
  48.     DATE001 = Date()
  49.     DATE002 = DATE001
  50.     BOOLEAN001 = 0
  51.     DATE003 = U_LDate()
  52.     STRING010 = PPEPath() + "zs.cfg"
  53.     STRING003 = ReadLine(STRING010, 4) + "\captmp" + String(PcbNode())
  54.     STRING009 = PPEPath() + "graph\zstext"
  55.     If (LangExt() <> "") Then
  56.         If (Exist(STRING009 + LangExt())) STRING009 = STRING009 + LangExt()
  57.     Endif
  58.     STRING011 = TokenStr()
  59.     Tokenize ReadLine(STRING010, 5)
  60.     BOOLEAN002 = 0
  61.     If (GetToken() == "YES") Then
  62.         BOOLEAN002 = 1
  63.         STRING006 = GetToken()
  64.         STRING005 = ReadLine(STRING010, 6)
  65.         STRING005 = ReplaceStr(STRING005, "@ZIP@", STRING003 + "." + STRING006)
  66.         STRING005 = ReplaceStr(STRING005, "@CAP@", STRING003)
  67.     Endif
  68.     STRING013 = Chr(13)
  69.     GetUser
  70.     Tokenize STRING011
  71.     If (TokCount() >= 1) Then
  72.         INTEGER005 = TokCount()
  73.         Redim TSTRING008, INTEGER005
  74.         For INTEGER003 = 1 To INTEGER005
  75.             TSTRING008(INTEGER003) = GetToken()
  76.             If (Left(TSTRING008(INTEGER003), 1) == "-") Then
  77.                 STRING004 = Mid(TSTRING008(INTEGER003), 2, Len(TSTRING008(INTEGER003)) - 1)
  78.                 DATE002 = ToDate(ToInt(DATE001) - ToInt(STRING004))
  79.                 BOOLEAN001 = 1
  80.                 TSTRING008(INTEGER003) = "N " + Strip(String(ToDate(DATE002)), "-")
  81.             Endif
  82.         Next
  83.         STRING014 = ""
  84.         For INTEGER004 = 1 To INTEGER005
  85.             STRING014 = STRING014 + " " + TSTRING008(INTEGER004)
  86.         Next
  87.     ElseIf (TokCount() == 0) Then
  88.         DispFile PPEPath() + "graph\zshdr", 1 + 4
  89.         :LABEL001
  90.         STRING012 = ReadLine(STRING010, 1)
  91.         Print ReadLine(STRING009, 1)
  92.         INTEGER001 = GetX()
  93.         INTEGER002 = GetY()
  94.         Print STRING012
  95.         AnsiPos INTEGER001, INTEGER002
  96.         InputStr "_", STRING012, 1, 4, Mask_Num() + "?N", 16 + 8 + 2
  97.         If (STRING012 == "?") Then
  98.             Newline
  99.             DispFile PPEPath() + "graph\zshlp", 1 + 4
  100.             Newline
  101.             Goto LABEL001
  102.             Goto LABEL002
  103.         Endif
  104.         If (STRING012 == "") Then
  105.             End
  106.         Endif
  107.         :LABEL002
  108.         If (Upper(STRING012) == "N") Then
  109.             STRING014 = ""
  110.             Goto LABEL003
  111.         Endif
  112.         DATE002 = ToDate(ToInt(DATE001) - ToInt(STRING012))
  113.         STRING014 = "N " + Strip(String(DATE002), "-")
  114.         :LABEL003
  115.         Newline
  116.         STRING012 = ReadLine(STRING010, 2)
  117.         Print ReadLine(STRING009, 2)
  118.         INTEGER001 = GetX()
  119.         INTEGER002 = GetY()
  120.         Print STRING012
  121.         AnsiPos INTEGER001, INTEGER002
  122.         InputStr "_", STRING012, 1, 10, "0123456789-UuAa?", 16
  123.         If (STRING012 == "?") Then
  124.             Newline
  125.             DispFile PPEPath() + "graph\zshlp", 1 + 4
  126.             Goto LABEL003
  127.             Goto LABEL004
  128.         Endif
  129.         If (STRING012 == "") Then
  130.             End
  131.         Endif
  132.         :LABEL004
  133.         STRING014 = STRING014 + " " + STRING012
  134.         :LABEL005
  135.         Newline
  136.         STRING012 = ReadLine(STRING010, 3)
  137.         Print ReadLine(STRING009, 3)
  138.         INTEGER001 = GetX()
  139.         INTEGER002 = GetY()
  140.         Print STRING012
  141.         AnsiPos INTEGER001, INTEGER002
  142.         InputStr "_", STRING012, 1, 10, "NnFfCc?", 16
  143.         If (STRING012 == "?") Then
  144.             Newline
  145.             DispFile PPEPath() + "graph\zshlp", 1 + 4
  146.             Goto LABEL005
  147.             Goto LABEL006
  148.         Endif
  149.         If (STRING012 == "") Then
  150.             End
  151.         Endif
  152.         :LABEL006
  153.         Newline
  154.         If (Upper(STRING012) == "N") Then
  155.             Goto LABEL007
  156.             Goto LABEL007
  157.         Endif
  158.         If (Upper(STRING012) == "F") Then
  159.             Goto LABEL008
  160.             Goto LABEL007
  161.         Endif
  162.         If (Upper(STRING012) == "C") Then
  163.             Goto LABEL009
  164.         Endif
  165.     Endif
  166.     :LABEL007
  167.     KbdStuff "Z " + STRING014
  168.     End
  169.     :LABEL008
  170.     KbdStuff "Z D " + STRING014
  171.     End
  172.     :LABEL009
  173.     OpenCap STRING003, BOOLEAN003
  174.     If (BOOLEAN003) Then
  175.         PrintLn "ERROR in dirlist: cannot open capture file"
  176.         End
  177.     Endif
  178.     ShowOff
  179.     KbdStuff STRING013
  180.     Dir "N NS " + STRING014
  181.     CloseCap 
  182.     ShowOn
  183.     If (BOOLEAN002) Then
  184.         Tokenize STRING005
  185.         STRING001 = GetToken()
  186.         STRING002 = ""
  187.         STRING007 = GetToken()
  188.         While (1) Do
  189.             If (STRING007 == "") Break
  190.             STRING002 = STRING002 + " " + STRING007
  191.             STRING007 = GetToken()
  192.         EndWhile
  193.         Shell 1, BOOLEAN003, STRING001, STRING002
  194.         Download STRING003 + "." + STRING006
  195.     Else
  196.         Download STRING003
  197.     Endif
  198.     Delete STRING003
  199.     Delete STRING003 + "." + STRING006
  200.     KbdStuff STRING013
  201.     End
  202.  
  203. ;------------------------------------------------------------------------------
  204. ;
  205. ; Usage report (before postprocessing)
  206. ;
  207. ; ■ Statements used :
  208. ;
  209. ;    7       End
  210. ;    38      Goto 
  211. ;    46      Let 
  212. ;    6       Print 
  213. ;    1       PrintLn 
  214. ;    22      If 
  215. ;    4       DispFile 
  216. ;    2       GetUser
  217. ;    2       Delete 
  218. ;    3       InputStr 
  219. ;    7       Newline
  220. ;    3       Tokenize 
  221. ;    1       Shell 
  222. ;    4       KbdStuff 
  223. ;    1       Dir 
  224. ;    3       AnsiPos 
  225. ;    1       OpenCap 
  226. ;    1       CloseCap 
  227. ;    1       ShowOn
  228. ;    1       ShowOff
  229. ;    1       Redim 
  230. ;    2       Download 
  231. ;
  232. ;
  233. ; ■ Functions used :
  234. ;
  235. ;    36      +
  236. ;    3       -
  237. ;    14      ==
  238. ;    1       <>
  239. ;    2       <
  240. ;    2       <=
  241. ;    5       >=
  242. ;    20      !
  243. ;    4       &&
  244. ;    2       ||
  245. ;    1       Len(
  246. ;    4       Upper()
  247. ;    1       Mid()
  248. ;    1       Left()
  249. ;    1       Chr()
  250. ;    1       Date()
  251. ;    1       U_LDate()
  252. ;    2       Strip()
  253. ;    3       String()
  254. ;    1       Mask_Num()
  255. ;    6       PPEPath()
  256. ;    1       PcbNode()
  257. ;    9       ReadLine()
  258. ;    6       GetToken()
  259. ;    1       Exist()
  260. ;    1       TokenStr()
  261. ;    3       LangExt()
  262. ;    3       GetX()
  263. ;    3       GetY()
  264. ;    3       TokCount()
  265. ;    2       ReplaceStr()
  266. ;    3       ToDate()
  267. ;    4       ToInt()
  268. ;
  269. ;------------------------------------------------------------------------------
  270. ;
  271. ; Analysis flags : S
  272. ;
  273. ; S - Shell to DOS ■ 5
  274. ;     This may be normal if the PPE need to execute an external command,
  275. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  276. ;     or usefull (sorting, maintenance,...). Check!
  277. ;     ■ Search for : SHELL
  278. ;
  279. ;------------------------------------------------------------------------------
  280. ;
  281. ; Postprocessing report
  282. ;
  283. ;    2       For/Next
  284. ;    1       While/EndWhile
  285. ;    17      If/Then or If/Then/Else
  286. ;    0       Select Case
  287. ;
  288. ;------------------------------------------------------------------------------
  289. ;                 AEGiS Corp - Break the routines, code against the machines!
  290. ;------------------------------------------------------------------------------
  291.